package com.pet.mapper;

import com.pet.pojo.SysLargeDog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * 大型犬信息数据访问层
 */
@Mapper
public interface SysLargeDogMapper {

    /**
     * 查询所有大型犬
     * 
     * @return 大型犬列表
     */
    List<SysLargeDog> findAll();

    /**
     * 根据条件查询大型犬
     * 
     * @param params 查询条件
     * @return 大型犬列表
     */
    List<SysLargeDog> findByCondition(Map<String, Object> params);

    /**
     * 添加大型犬
     * 
     * @param dog 大型犬信息
     * @return 影响的行数
     */
    int insert(SysLargeDog dog);

    /**
     * 更新大型犬信息
     * 
     * @param dog 大型犬信息
     * @return 影响的行数
     */
    int update(SysLargeDog dog);

    /**
     * 删除大型犬
     * 
     * @param id 大型犬ID
     * @return 影响的行数
     */
    int delete(Integer id);

    /**
     * 根据ID查询大型犬
     * 
     * @param id 大型犬ID
     * @return 大型犬信息
     */
    SysLargeDog findById(Integer id);

    /**
     * 统计符合条件的大型犬总数
     * 
     * @param params 查询条件
     * @return 符合条件的大型犬总数
     */
    int countByCondition(Map<String, Object> params);

    /**
     * 批量更新大型犬状态
     * 
     * @param ids    大型犬ID列表
     * @param status 新状态
     * @return 影响的行数
     */
    int updateStatus(@Param("ids") List<Integer> ids, @Param("status") Integer status);
} 